日志系统

如何用日志

前言

idempiere实现

//整个日志的输出格式:
//日志头:*** 2017-07-26 10:39:22.926 idempiere Log (CLogFile) ***
//日志记录:时间+Class.Method名称:+日志记录+[日志记录线程ID]

//93行开始
    if (record.getLevel() == Level.SEVERE)
    {  //       12:12:12.123
      sb.append(tsStr.substring(11, 23));
      sb.append("===========> ");             //时间后面出现这个,就是严重错误
      if (Ini.isClient())
        Toolkit.getDefaultToolkit().beep();     //严重错误会蜂鸣报警,但我没有听到过
    }
    else if (record.getLevel() == Level.WARNING)
    {  //       12:12:12.123
      sb.append(tsStr.substring(11, 23));           //时间后面出现这个,就是警告
      sb.append("-----------> ");
    }
    else
    {                                             //时间后面的空格长度表示日志等级
      sb.append(tsStr.substring(11, 23));
      int spaces = 11;
      if (record.getLevel() == Level.INFO)
        spaces = 1;
      else if (record.getLevel() == Level.CONFIG)
        spaces = 3;
      else if (record.getLevel() == Level.FINE)
        spaces = 5;
      else if (record.getLevel() == Level.FINER)
        spaces = 7;
      else if (record.getLevel() == Level.FINEST)
        spaces = 9;
      sb.append("                          ".substring(0, spaces));

//137行开始
    /**  Thread      **/                            // 每行日志末尾[数字]表示日志记录的线程ID
    if (record.getThreadID() != 10)
      sb.append(" [").append(record.getThreadID()).append("]");      

//197行开始
    /**************************************************************************
     *   Get Class Method from Log Record
     *  @param record record
     *  @return class.method
     */
    public static String getClassMethod (LogRecord record)

slf4j

java.util.logging (JUL)

问题1:如何使用JUL接口

问题2:如何使用slf4j接口

问题2:自定义日志格式

问题3:集成其他插件日志

如何debug jetty

相关issue